package org.hgvc.webapp.ets.spring.service;

import java.util.List;

import org.hgvc.webapp.ets.bo.AmortiseSchema;
import org.hgvc.webapp.ets.bo.CreditTerm;
import org.hgvc.webapp.ets.bo.Membership;
import org.hgvc.webapp.ets.bo.MembershipCategory;
import org.hgvc.webapp.ets.bo.PointCategory;
import org.hgvc.webapp.ets.bo.PointMembershipMap;
import org.hgvc.webapp.ets.bo.ReInstateFreeTrx;
import org.jocsb.base.bo.User;
import org.jocsb.base.exception.BaseException;


public interface MembershipService {

	public List<PointCategory> getPointCategoryList()throws BaseException;
	public void createPointCategory(PointCategory cat,User createdUser)throws BaseException;
	public void editPointCategory(PointCategory cat,User createdUser)throws BaseException;
	public void deletePointCategory(List<PointCategory> list,User createdUser)throws BaseException;
	public List<AmortiseSchema> getAmortiseSchemaList()throws BaseException;
	public void createAmortiseSchema(AmortiseSchema sch,User createdUser)throws BaseException;
	public void editAmortiseSchema(AmortiseSchema sch,User createdUser)throws BaseException;
	public void deleteAmortiseSchema(List<AmortiseSchema> list,User createdUser)throws BaseException;
	public void deleteCreditTerm(List<CreditTerm> list,User createdUser)throws BaseException;
	public List<CreditTerm> getCreditTermList()throws BaseException;
	public void createCreditTerm(CreditTerm term,User createdUser)throws BaseException;
	public void editCreditTerm(CreditTerm term,User createdUser)throws BaseException;
	public void deleteMembershipCategory(List<MembershipCategory> list,User createdUser)throws BaseException;
	public void editMembershipCategory(MembershipCategory cat,User createdUser)throws BaseException;
	public void createMembershipCategory(MembershipCategory cat,User createdUser)throws BaseException;
	public List<MembershipCategory> getMembershipCategoryList()throws BaseException;
	public void deleteMembership(List<Membership> list,User createdUser)throws BaseException;
	public void editMembership(Membership membership,User createdUser,List<PointMembershipMap> mapList)throws BaseException;
	public void createMembership(Membership membership,User createdUser,List<PointMembershipMap> mapList)throws BaseException;
	public List<Membership> getMembershipList()throws BaseException;
	public void deleteReInstateFreeTrx(List<ReInstateFreeTrx> list,User createdUser)throws BaseException;
	public void editReInstateFreeTrx(ReInstateFreeTrx res,User createdUser)throws BaseException;
	public void createReInstateFreeTrx(ReInstateFreeTrx res,User createdUser)throws BaseException;
	public List<ReInstateFreeTrx> getReInstateFreeTrxList()throws BaseException;
	public List<PointMembershipMap> getPointMembershipMapList(Membership membership)throws BaseException;
}
